mongoose Model.create()


Posted by mijouhsieh on 2023-08-19

db.once('open', () => {
  for (const [user_index, user] of users.entries()) {
    // 創建使用者資料(user)
    UserModel.create(user, (err, user)=>{
      console.log("user created")
    })
  }
})

使用 mongoose 提供的 Model.create 建立使用者資料,這裡是一個典型的非同步操作:

  • 若操作成功,資料庫就會回傳一個成功創建的 user 物件,即設定給 UserModel.create 的第一個參數
  • 若成功取得 user 物件,就執行第二個參數中設定的 callback function,即(err, user)=>{ })這段
  • 若 UserModel.create 有正確回傳 user 參數,我們就用 console.log("user created") 在畫面上印出資訊,來確認程式執行成功。

非同步Mongoosev7.4.3_Model.create.png


ChatGTP
[Model.create()](https://mongoosejs.com/docs/api/model.html#Model.create()) 是一個在使用特定資料庫模型(或類別)時,用於將一個或多個文檔插入到資料庫中的方法。這個方法的目的是簡化插入文檔的過程,並且可以針對每個文檔自定義特定的選項。以下是關於 Model.create() 方法的更詳細解釋:

假設你有一個名為 Character 的資料庫模型,用於儲存各種角色的相關資訊。你可以使用 Character.create() 方法來插入一個或多個角色文檔到資料庫中。

方法語法:
Model.create(docs, [options]);

docs:這是一個包含要插入資料的文檔的數組。每個文檔可以是一個物件,描述要插入資料的屬性。你也可以傳遞單個文檔,或者使用展開運算符將多個文檔傳遞給這個方法。
options(可選):這是一個物件,用於指定插入選項。這些選項將被傳遞給內部的 save() 方法。例如,你可以指定一個 session 選項來將插入操作納入到一個事務中。
這個方法的返回值是一個 Promise,當插入操作完成後,Promise 將被解決。

這個方法的主要優點是它可以幫助你簡化將文檔插入資料庫的過程。對於每個要插入的文檔,它實際上等同於創建一個模型的實例,設定屬性,然後調用該實例的 save() 方法來將文檔保存到資料庫。

以下是使用 Character.create() 方法的一些示例:

const Character = require('./models/character'); // 假設你有一個 Character 資料庫模型

// 插入一個新的角色文檔
await Character.create({ name: 'Jean-Luc Picard' });

// 插入多個新的角色文檔
await Character.create([
  { name: 'Will Riker' },
  { name: 'Geordi LaForge' }
]);

// 在一個事務中插入一個新的角色文檔。請注意,如果你想要指定選項,你必須將文檔放入數組中作為第一個參數傳遞給 create() 方法。
await Character.create([{ name: 'Jean-Luc Picard' }], { session });

總之,Model.create() 是一個方便的方法,用於在資料庫中插入一個或多個文檔,並且可以指定插入選項。這使得插入操作變得更加簡單且易於管理。


#Model.create() #Mongoose







Related Posts

JS 有兩大類型別:原始型別 與 物件型別

JS 有兩大類型別:原始型別 與 物件型別

算術運算子

算術運算子

數據分析師的末日?GPT-4 的新功能 - code interpreter

數據分析師的末日?GPT-4 的新功能 - code interpreter


Comments